package com.managertrade.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class CopyTradingSubPositionsHistoryResponse {

    private String code;
    private String msg;
    private List<SubPosition> data;

    @Data
    public static class SubPosition {
        private String instId;      // 产品ID
        private String subPosId;    // 带单仓位ID
        private String posSide;     // 持仓方向 long/short/net
        private String mgnMode;     // 保证金模式 isolated/cross
        private String lever;       // 杠杆倍数
        private String openAvgPx;   // 开仓均价
        private String openTime;    // 开仓时间
        private String subPos;      // 持仓张数
        private String closeTime;   // 平仓时间
        private String closeAvgPx;  // 平仓均价
        private String pnl;         // 收益额
        private String pnlRatio;    // 收益率
        private String instType;    // 产品类型 SPOT / SWAP
        private String margin;      // 保证金
        private String ccy;         // 币种
        private String uniqueCode;  // 交易员唯一标识码
        // 新增方法，把 lever 转成整数
        public int getLeverInt() {
            try {
                return new BigDecimal(this.lever).intValue();
            } catch (Exception e) {
                return 1; // 默认1倍
            }
        }
    }
}